package io.renren.modules.sys.service.impl;

import java.io.IOException;
import java.util.List;

import io.renren.common.utils.CharUtil;
import io.renren.common.utils.R;
import io.renren.entity.FileManagerEntity;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Service;
import org.springframework.util.ClassUtils;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import io.renren.common.utils.FileUtils;

@Service
public class FilePathServiceImpl {




    public R Upload(@RequestParam("file") MultipartFile file) {
        String fileName="";
        long size = file.getSize();
        if (size > org.apache.commons.io.FileUtils.ONE_MB * 5) {
            return R.error("文件大于5兆");
        }
        if(!file.isEmpty()) {
            String fileRealName = file.getOriginalFilename();//获得原始文件名;
            fileName = CharUtil.getRandomId()+"_"+fileRealName;
            // 存放在这个路径下：该路径是该工程目录下的static文件下：(注：该文件可能需要自己创建)
            // 放在static下的原因是，存放的是静态文件资源，即通过浏览器输入本地服务器地址，加文件名时是可以访问到的
            String path = ClassUtils.getDefaultClassLoader().getResource("").getPath()+"static/swagger/file/";
            try {
                // 该方法是对文件写入的封装，在util类中，导入该包即可使用，后面会给出方法
                FileUtils.fileupload(file.getBytes(), path, fileName);
            } catch (IOException e) {
                return R.error(e.toString());
            }
            // 接着创建对应的实体类，将以下路径进行添加，然后通过数据库操作方法写入
            //FilePathEntity biaopath = new FilePathEntity();
            //biaopath.setPath("http://localhost:8080/"+fileName);
            //filePathService.save(biaopath);

        }
        return R.ok(fileName);
    }




}

